package cn.hl.hm.service;

import java.util.List;

import cn.hl.hm.entity.backstage.BackStageMenus;
import cn.hl.hm.entity.backstage.BackStageRoleMenu;
import cn.hl.hm.entity.backstage.BackStageRoles;
import cn.hl.hm.entity.backstage.BackStageUserRole;

public interface BackstageAuthService {
	
	//根据用户名查id
	public BackStageRoles selectByroleName(BackStageRoles  roleName);
	
	//添加角色权限 
    public int insertRoleMenu(BackStageRoleMenu role);
    
    //修改角色权限前先删除源数据 
    public int deleteByRoleId(Integer id);
    
    List<BackStageRoleMenu> selectInfo(BackStageRoleMenu record);

	
	
	
	//-----------------------------------------------------
	/**
	* @Title: selectUserAuths
	* @Description: 查询用户所有权限
	* @author : 大和
	* @date :2016年12月12日
	* @param userId
	* @return List<String>
	* @throws
	 */
	public List<BackStageMenus> selectUserAuths(Integer userId);
	/**
	 * 
	* @Title: selectRoles
	* @Description: 查询所有现有角色
	* @author : 大和
	* @date :2016年12月12日
	* @return List<BackStageRoles>
	* @throws
	 */
	public List<BackStageRoles> selectRoles();
	/**
	 * 
	* @Title: selectMenus
	* @Description: 查询所有菜单
	* @author : 大和
	* @date :2016年12月12日
	* @return List<BackStageMenus>
	* @throws
	 */
	public List<BackStageMenus> selectMenus();
	/**
	 * 
	* @Title: selectUserRoles
	* @Description: 查询该用户所有角色
	* @author : 大和
	* @date :2016年12月12日
	* @return List<BackStageRoles>
	* @throws
	 */
	public List<BackStageRoles> selectUserRoles(Integer userId);
	/**
	 * 
	* @Title: addRoles
	* @Description: 添加角色
	* @author : 大和
	* @date :2016年12月12日
	* @param role
	* @return int
	* @throws
	 */
	public int addRoles(BackStageRoles role);
	/**
	 * 
	* @Title: addMenus
	* @Description: 添加菜单
	* @author : 大和
	* @date :2016年12月12日
	* @param menu
	* @return int
	* @throws
	 */
	public int addMenus(BackStageMenus menu);
	/**
	 * 
	* @Title: addUserRoles
	* @Description: 添加用户角色
	* @author : 大和
	* @date :2016年12月12日
	* @param userId
	* @param roleId
	* @return int
	* @throws
	 */
	public int addUserRoles(Integer userId,Integer roleId);
	/**
	 * 
	* @Title: addRoleMenu
	* @Description: 添加角色菜单
	* @author : 大和
	* @date :2016年12月12日
	* @param menuId
	* @param roleId
	* @return int
	* @throws
	 */
	public int addRoleMenu(Integer menuId,Integer roleId);
	/**
	 * 
	* @Title: deleteRoleMenu
	* @Description: 删除角色菜单
	* @author : 大和
	* @date :2016年12月12日
	* @param id
	* @return int
	* @throws
	 */
	public int deleteRoleMenu(Integer Id);
	/**
	 * 
	* @Title: deleteUserRoles
	* @Description: 删除用户角色
	* @author : 大和
	* @date :2016年12月12日
	* @param id
	* @return int
	* @throws
	 */
	public int deleteUserRoles(Integer Id);
	
	
	/**
	 * 
	* @Title: updateRole
	* @Description: 修改角色信息
	* @author : 大和
	* @date :2016年12月12日
	* @param userId
	* @param roleId
	* @return int
	* @throws
	 */
	public int updateRoleInfo(BackStageRoles role);

	/**
	 * 
	* @Title: updateMenuInfo
	* @Description: 更新菜单信息
	* @author : 大和
	* @date :2016年12月12日
	* @param menu
	* @return int
	* @throws
	 */
	public int updateMenuInfo(BackStageMenus menu);
	
	/**
	 * 
	* @Title: selectRoleMenus
	* @Description: 查询所有角色菜单关系
	* @author : 大和
	* @date :2016年12月13日
	* @return int
	* @throws
	 */
	public List<BackStageRoleMenu> selectRoleMenus();
	/**
	 * 
	* @Title: selectUserRoles
	* @Description: 查询所有用户角色关系
	* @author : 大和
	* @date :2016年12月13日
	* @return int
	* @throws
	 */
	public  List<BackStageUserRole>  selectUserRoles();



}
